1. Field of the Invention
The present invention relates to an ATM multiplexer equipped with a plurality of cell assembler/disassemblers, and a scheduling method therefor. Scheduling refers to controlling transmission time allocations for each cell assembler/disassembler when an ATM cell transmitted from at least 1 connection established in each cell assembler/disassembler is multiplexed and transmitted to an ATM network over one ATM line.
2. Description of the Related Art
In recent years, an ATM multiplexer has been required to interwork over an ATM network traffic that accords with a variety of communications protocols, such as voice, frame relay (FR), and HDLC (High-level Data Link Control Procedure). To realize these kinds of requirements, the ATM cell multiplexer has to implement traffic control in accordance with the service categories of each communications protocol to preserve the quality of service (QOS) thereof.
The following 2 methods exist for an ATM cell multiplexer to implement traffic control. In the first method, an ATM cell multiplexer is provided with an ATM switch, and makes use of the traffic control functions of the ATM switch. In the second method, an ATM cell multiplexer is not provided with an ATM switch, and cell streams between an ATM cell assembler/disassembler (CLAD) and ATM buses are scheduled. Because, in general, an ATM switch is costly to manufacture and requires complex control, an ATM cell multiplexer, which employs the above-mentioned second method not using an ATM switch, is generally provided for a market which requires an inexpensive, compact product.
FIG. 8 is a diagram illustrating the principle of an ATM cell multiplexer in which an ATM switch is not used. In FIG. 8, 4 CLAD 11 are connected in parallel to an ATM bus 14 and transmission authority is assigned by an ATM bus scheduler 12 allocating time slots (TS) to each CLAD in accordance with the volume of traffic of each CLAD 11 connection. An ATM cell, which is transmitted from a CLAD 11 during an allocated time slot, is sent to an ATM network by way of a line controller 13.
FIG. 9 is an example of a constitution of an ATM bus scheduler 12. In FIG. 9, the ATM bus scheduler 12 has a schedule table 201 comprising a plurality of time slots, in which the identification data of each CLAD 11 (CLAD-ID) is set. Now, when a schedule table reader 202 reads out the schedule table 201, an ATM bus controller 203 controls an ATM bus 14 such that transmission authority is assigned to a connection of a CLAD 11 of the identification data set in a time slot of this schedule table 201. That is, the identification data set in each time slot in a schedule table is data for allocating transmission time to each CLAD 11. Furthermore, a schedule management main controller 204 of CLAD 11 controls the schedule table reader 202 and ATM bus controller 203.
FIG. 10 is a diagram for illustrating a schedule table 201. In FIG. 10, a schedule table 201 is constituted from 3 tables 201a, 201b, 201c. In general, a plurality of tables is prepared in accordance with the types of service categories available. For example, when the 3 types of service categories of CBR (Constant Bit Rate), VBR (rt-VB (real time-Variable Bit Rate), nrt-VBR (non-real time-Variable Bit Rate)), and UBR (Unspecified Bit Rate) are available, in table 201a, which is prepared as the main table, there is set identification data (CLAD-ID) corresponding to a CBR connection and a VBR connection. Now, for a CBR connection, there is allocated a traffic volume time slot equivalent to the PCR (Peak Cell Rate), and for a VBR connection, there is allocated a traffic volume time slot equivalent to the SCR (Sustainable Cell Rate). Further, in table 201b, which is prepared as a sub-table of table 201a, there is set identification data (CLAD-ID) corresponding to a VBR connection. Then, a time slot corresponding to the traffic volume of the remainder of the traffic volume assigned to table 201a (that is, PCR-SCR) is allocated. Furthermore, in table 201c, which is prepared as an additional sub-table of table 201b, there is set identification data (CLAD-ID) corresponding to a UBR connection, and a time slot corresponding to the traffic volume thereof is allocated.
Now then, an ATM bus scheduler 12 assigns during 1 cycle (for example, 0.4 seconds) transmission authority to connections corresponding to identification data set in 1536TS prepared in table 201a. At this time, a time slot of a connection that is not in the process of communications, and a time slot in which a connection is not set (in the figure, xe2x80x9cNo transmission authorityxe2x80x9d) are allocated to a connection having transmission authority in sub-table 201b. Furthermore, when identification data (CLAD-ID) of a connection having transmission authority is not set in sub-table 201b, a time slot is assigned to a connection having transmission authority in table 201c. By preparing a plurality of schedule tables with priorities that differ in accordance with quality of service (QOS) like this, it is possible to maintain each quality of service. That is, if a connection pertains to a service category which is required to be stricter about time delays, transmission is assigned to such connection based on a schedule table with higher priority.
In addition, to preserve the quality (QOS) of a connection of a service category that is strict about time delays (for example, either CBR or rt-VBR), the transmission authority of such a connection must be allocated at equal intervals for 1 cycle""s worth of time slots (for example, 1536 slots) that are set in table 201a, the main table. For example, when the traffic volumes of a plurality of connections are the same, transmission authorities for a plurality of connections can be assigned in equal intervals by shifting by a predetermined number the time slot allocated to each connection. Conversely, when the traffic volumes of a plurality of connections differ, the intervals of time slots to which transmission authorities have been assigned will differ, respectively, even if the time slot allocated to each connection is shifted by a predetermined number, thus generating time slots with overlapping transmission authorities. In a case such as this, overlap will be avoided by shifting the transmission authority of any one of the connections to a previous or subsequent time slot. However, as explained above, for the connection of a service category that is strict about time delay, it is desirable that discrepancies in transmission authority spacing be as small and as few as possible.
Therefore, conventionally, a main table 201a, in which transmission authority intervals for a plurality of established connections are set to be as equal as possible, is prepared beforehand.
However, when a main table 201a is set beforehand as in the above-mentioned prior art, the following problem occurs when a new connection is established in accordance with installing an additional CLAD. That is, when a new connection is a connection of a service category that is strict about time delays, the transmission authority of this connection must be assigned at intervals that are as equal as possible, but, in the main table 201a, this connection has to be allocated to an empty time slot that has yet to be assigned transmission authority. An empty time slot does not always exist at equal intervals, and the larger the number of connections set in the main table 201a, the less likely it is that the time slot will be equally spaced. Therefore, there occur situations in which it is impossible to assign an equally spaced transmission authority to a newly established connection.
Conversely, suppose there is a situation, in which a main table 201a is not prepared beforehand as described above, but rather, a main table 201a is set by allocating a time slot to a connection each time in accordance with the number of connections established. In a case such as this, the following problem occurs when an attempt is made to equally allocated transmission authority to a connection to which CBR (or rt-VBR) is applied.
That is, as explained above, when traffic volume differs for each of a plurality of connections, simply assigning transmission authorities to a certain connection at equal intervals results in the occurrence of a time slot that has already been allocated. Consequently, this gives rise to the need to shift a time slot that is to be allocated. Such situations increase in accordance with the number of connections, causing allocation spacing irregularities to increase.
Now then, an increase in the allocation spacing of transmission authorities means increased cell transmission fluctuations (time delays), resulting in the inability to protect quality of service. Further, to prevent results such as this, compensation processing may be performed via software processing so as to make transmission authority allocation spacing as equal as possible. But as this compensation processing requires a certain degree of time, real-time allocation is impossible. This is inexpedient in a case in which it is necessary to establish a VC (Virtual Channel) in real time, like a SVC (Switched Virtual Channel).
Therefore, an object of the present invention is to provide an ATM cell multiplexer, which is capable of setting in real time a main table, in which transmission authorities corresponding to a number of established connections is assigned as much as possible at equal intervals in accordance with the connections thereof.
An ATM cell multiplexer of the present invention for achieving the above-mentioned object controls the ATM cell transmission time assigned to each cell assembler/disassembler (CLAD) based on the number of cell assembler/disassemblers (CLAD), number of connections, and connection traffic volume.
For example, the constitution of an ATM cell multiplexer of the present invention is characterized in that it comprises a plurality of cell assemblers/disassemblers having at least one connection; a table manager for setting a schedule table having transmission time information, which is allocated to each cell assembler/disassembler based on the number of said cell assemblers/disassemblers, the number of said connections, and the traffic volume of said connections; and a controller for controlling said transmission time in each cell assembler/disassembler according to said schedule table.
In the above-mentioned constitution, the table manager stores said schedule tables corresponding to all the communications patterns determined based on the number of cell assemblers/disassemblers, number of connections, and said traffic volume, and extracts therefrom said schedule table corresponding to a set communications pattern.
With this constitution, it is possible to set in real time the optimum schedule table relative to a communications pattern change.
Further, the table manager produces said schedule table by preparing a unit table, in which the number of time slots assigned to the schedule table is divided equally by the maximum number of cell assemblers/disassemblers that can be mounted, storing a transmission pattern table having said transmission time information corresponding to a plurality of traffic volumes, extracting a transmission pattern table corresponding to the traffic volume of the connection of each cell assembler/disassembler, and applying a transmission pattern table corresponding to each cell assembler/disassembler to a unit table corresponding to each cell assembler/disassembler.
In accordance therewith, it is possible to set in real time the optimum schedule table for a communications pattern change.
Furthermore, when a plurality of connections is established in a cell assembler/disassembler, preferably, the table manager synthesizes each transmission pattern table corresponding to the traffic volume of each connection, and applies this synthesized transmission pattern table to a unit table corresponding to a cell assembler/disassembler.
Further, a scheduling method of the present inventions is a scheduling method of an ATM cell multiplexer comprising a plurality of cell assemblers/disassemblers having at least 1 connection, and is characterized by comprising the steps of setting a schedule table having transmission time information, which is allocated to each cell assembler/disassembler based on the number of cell assemblers/disassemblers, and the number of connections, and the traffic volume of the connections; and controlling said transmission time in each cell assembler/disassembler in accordance with the schedule table.